package com.macro.mall.tiny.modules.bms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.macro.mall.tiny.common.api.CommonPage;
import com.macro.mall.tiny.modules.bms.model.Config;

/**
 * <p>
 * 公共配置表 服务类
 * </p>
 *
 * @author macro
 * @since 2025-11-19
 */
public interface ConfigService extends IService<Config> {

    /**
     * 根据key查找配置
     * @param key 配置key
     * @return 配置信息
     */
    Config getByKey(String key);

    /**
     * 分页查询配置列表
     * @param key 配置key，用于筛选
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @return 配置分页列表
     */
    CommonPage<Config> getPageList(String key, Integer pageNum, Integer pageSize);

    /**
     * 新增配置
     * @param config 配置信息
     * @return 是否成功
     */
    boolean create(Config config);

    /**
     * 更新配置
     * @param id 配置ID
     * @param config 配置信息
     * @return 是否成功
     */
    boolean update(Long id, Config config);

    /**
     * 删除配置
     * @param id 配置ID
     * @return 是否成功
     */
    boolean delete(Long id);

}